// const { default: axios } = require("axios");
//axios拦截器
import axios from "axios";
import { Message } from 'element-ui';
import {getToken,getUserName} from '@/utils/app'


// 创建axios拦截器,service只是一个新的名字
const BASEURL = process.env.NODE_ENV === "production" ? "" : "/api";
const service = axios.create({
  baseURL: BASEURL,
  timeout: 2000,
});

// 添加请求拦截器  请求接口前，进行数据处理 
service.interceptors.request.use(
  function(config) {
    // 在发送请求之前做些什么
    // 后台需要前端这边传相关的参数（在请求头添加参数）
    // Tokey
    // userId
    // sui
    // 业务需求
    // 最终目地不是在请求头添加参数
    config.headers["Tokey"] = getToken();
    config.headers["UserName"] = getUserName();

    return config;
  },
  function(error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  }
);

// 添加响应拦截器   请求接口后，返回数据进行拦截
service.interceptors.response.use(
  function (response) {
    // 对响应数据做点什么
    const data = response.data
    console.log(data);
    if(data.resCode != 0 ) {
      Message.error(data.message);
      return Promise.reject(data)
    }else{
      return response;
      // retrun Promise.resolve(data)
    }

  },
  function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
  }
);

export default service;

/**
 * 使用export default xxx返回默认xxx,不能同时返回多个引用，引用无需{} 直接import xxx
 */
